package com.xinqi.modules.sys.document.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xinqi.common.mybatis.data.repo.SuperMapper;
import com.xinqi.modules.sys.document.domain.DocumentManagerEntity;
import com.xinqi.modules.sys.document.dto.req.DocumentManagerQueryDTO;
import com.xinqi.modules.sys.document.dto.req.DocumentManagerTreeDTO;
import com.xinqi.modules.sys.document.dto.rsp.DocumentManagerResultDTO;
import com.xinqi.modules.sys.document.dto.rsp.DocumentManagerTreeResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 文档管理表数据层
 *
 * @author: gzy
 * @date: 2023/05/28
 */
@Mapper
public interface DocumentManagerMapper extends SuperMapper<DocumentManagerEntity> {
    Page<DocumentManagerResultDTO> findPage(Page<Object> page, @Param("dto") DocumentManagerQueryDTO query);

    List<DocumentManagerResultDTO> findList(@Param("dto") DocumentManagerQueryDTO query);

    List<DocumentManagerResultDTO> selectAllParents(@Param("parentId") Long parentId);

    List<DocumentManagerTreeResultDTO> selectTreeBaseList(@Param("dto") DocumentManagerTreeDTO dto);

    Page<DocumentManagerResultDTO> findByPage(Page<Object> page, @Param("dto") DocumentManagerQueryDTO query);

    int deleteOutById(@Param("id") Long id);

    List<DocumentManagerResultDTO> selectAll(@Param("dto") DocumentManagerQueryDTO dto);
}
